package com.sunny.design.decorator.normal;

/**
 * 装饰者模式(Decorator Pattern)
 *  装饰者模式是指在不改变原有对象的基础之上，将功能附加到对象上，提供了比继承更有弹性的替代方案(扩展原有对象的功能)
 *  属于结构型模式。
 *
 * 适用场景：
 *  1、用于扩展一个类的功能或给一个类添加附加职责。
 *  2、动态的给一个对象添加功能，这些功能可以再动态的撤销。
 *
 * 装饰者模式最本质的特征是讲原有类的附加功能抽离出来，简化原有类的逻辑。
 * 其实抽象的装饰者是可有可无的，具体可以根据业务 模型来选择。
 *
 * 基础煎饼扩展类
 *
 * @author Sunny
 * @date 2020/1/12 下午4:15
 */
public class BatterCakeDecorator extends BatterCake {

    private BatterCake batterCake;

    public BatterCakeDecorator(BatterCake batterCake) {
        this.batterCake = batterCake;
    }

    @Override
    protected String getMsg() {
        return this.batterCake.getMsg();
    }

    @Override
    protected int getPrice() {
        return this.batterCake.getPrice();
    }
}
